package com.ajk.server.service;
import java.util.List;
import java.util.Map;

import com.ajk.server.model.FriendPatientEventDay;
import com.ajk.server.model.PatientEventDay;
import com.ajk.server.model.query.FriendPatientEventDayQuery;

/**
 * 亲友健康数据-每天只记录一条  <br>
 * t_friend_patient_event_day <br>
 * v1.0 2016-05-22
 */
 public interface FriendPatientEventDayService {
	
	/**
 	*根据ID删除 亲友健康数据-每天只记录一条
 	*/
 	public Integer deleteFriendPatientEventDayById(Integer id);
 	
 	/**
 	*新增 亲友健康数据-每天只记录一条
 	*/
 	public Integer batchInsertFriendPatientEventDay(List<? extends FriendPatientEventDay> friendPatientEventDays);
 	
 	/**
 	*新增 亲友健康数据-每天只记录一条
 	*/
 	public Integer insertFriendPatientEventDay(FriendPatientEventDay domain);
 
 	
 	/**
 	*更新 亲友健康数据-每天只记录一条
 	*/
 	public Integer updateFriendPatientEventDay(FriendPatientEventDay domain);
 	
 	/**
 	*根据ID查询 亲友健康数据-每天只记录一条
 	*/
 	public FriendPatientEventDay findFriendPatientEventDayById(Integer id);

	/**
 	*通过query 查询 亲友健康数据-每天只记录一条
 	*/
	public List<FriendPatientEventDay> findFriendPatientEventDayByQuery(FriendPatientEventDayQuery query);	
	
	/**
 	*通过query count总条数
 	*/
 	public Integer countFriendPatientEventDayByQuery(FriendPatientEventDayQuery query);
 	
 	/**
 	* 通过ids查询
 	*/
 	public List<FriendPatientEventDay> findFriendPatientEventDayByIds(List<Integer> ids);
 	
 	public void syncBloodPressureByFriendId(Integer friendId);
 	public void syncBloodPressureInRedis(boolean force);
 	public void syncSingletonBloodPressureInRedis(Integer bloodPressureId);
 	public List<FriendPatientEventDay> findLastNByFriendId(Integer friendId,Integer limit,Integer categoryId);
 	public List<FriendPatientEventDay> findByCategoryId(Integer categoryId);
 	
 	public List<FriendPatientEventDay> findWeekBloodPress(Integer friendId);
 	
 	public Map<String, FriendPatientEventDay> findMyLastPatient(Integer userId);
}	